$(document).ready(function() {
  require(["inputdrop", "asset", "tree"], function(inputdrop, asset, tree) {
    /**
	   * 
	   * @desc {{description}}{{绑定表单数据}}
	   * @param {obj} data 
	   */
    function bindFormData(el, data, type) {
      var els = el + "[name]";
      $(el + " [name]").each(function() {
        var arrtName = $(this).attr("name");
        if (type == "val") {
          $(el + " [name=" + arrtName + "]").val(data[arrtName]);
        } else {
          $(el + " [name=" + arrtName + "]").text(data[arrtName]);
        }
      });
    }

    /**
     * 
     * @desc {{description}}{{获取设备基本信息}}
     * @param {Str} id 
     */
    function getDeviceInfo(id) {
      xd_ajax_get({
        url: "api/public/agent/info",
        paramObj: { deviceId: id },
        successCallBack: function(data) {
          data.buildingTime
            ? (data.buildingTime = new Date(data.buildingTime).Format(
                "yyyy-MM-dd"
              ))
            : (data.buildingTime = "");
          data.roleId = "1";
          domainInfo = data;
          $("#seeForm [name]").each(function() {
            var arrtName = $(this).attr("name");
            $("#seeForm [name=" + arrtName + "]").attr("title", data[arrtName]);
          });
          bindFormData("#deviceInfo", data, "title");
          $(".domainInfoEdit").umDataBind("render", domainInfo);
        }
      });
    }

    function deviceConfigList(option) {
      g_grid.render($("#table_div1"), {
        header: list_col,
        // url: "api/public/agent/list",
        url: configUrl,
        type: "xd",
        dataKey: "list",
        operWidth: "60px",
        paramObj: option.paramObj,
        queryBefore: function(paramObj) {},
        isLoad: option.isLoad,
        maskObj: option.maskObj,
        dbIndex: 1,
        hasBorder: false,
        hideSearch: true,
        autoHeight: true,
        showCount: true,
        allowCheckBox: false
      });
    }

    // 交互代码
    index_title_set("设备详情");
    var id = getUrlParam("id");
    var treeData = [
      {
        id: "-1",
        label: "数据交换业务配置信息",
      },
      {
        id: "2",
        label: "代理任务配置信息",
      },
      {
        id: "3",
        label: "移动应用管理与代理系统业务配置信息",
      },
      {
        id: "4",
        label: "数据交换行为日志",
      },
      {
        id: "5",
        label: "用户访问行为日志",
      },
      {
        id: "6",
        label: "代理任务运行日志",
      }
    ];
    var configUrl = "api/public/agent/listDataExchangeConf";
    // 数据交换表格列配置
    var table_col_config = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "任务标识", name: "taskId", align: "left", width: 20 },
      { text: "任务名称", name: "taskName", align: "left", width: 20, tip: true },
      {
        text: "源IP",
        name: "sourceIp",
        align: "left",
        width: 20
      },
      {
        text: "源端口",
        name: "sourcePort",
        align: "left",
        width: 20
      },
      {
        text: "目的IP",
        name: "targetIp",
        align: "left",
        width: 20
      },
      {
        text: "目的端口",
        name: "targetPort",
        align: "left",
        width: 20
      },
      {
        text: "任务描述",
        name: "taskDesc",
        align: "left",
        width: 20,
        tip: true
      },
      {
        text: "任务方向",
        name: "taskDirection",
        align: "left",
        width: 20
      },
      {
        text: "任务状态",
        name: "taskStatus",
        align: "left",
        width: 20
      }
    ];
    // 移动应用表格列配置
    var table_col_config1 = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "任务标识", name: "taskId", align: "left", width: 20 },
      { text: "任务名称", name: "taskName", align: "left", width: 20, tip: true },
      {
        text: "任务类型",
        name: "taskType",
        align: "left",
        width: 20
      },
      {
        text: "服务标识",
        name: "serviceId",
        align: "left",
        width: 20
      },
      {
        text: "目的IP",
        name: "targetIp",
        align: "left",
        width: 20
      },
      {
        text: "目的端口",
        name: "targetPort",
        align: "left",
        width: 20
      },
      {
        text: "任务描述",
        name: "taskDesc",
        align: "left",
        width: 20,
        tip: true
      },
      {
        text: "任务状态",
        name: "status",
        align: "left",
        width: 20
      }
    ];
    // 代理任务表格列配置
    var table_col_config2 = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "任务名称", name: "taskName", align: "left", width: 20, tip: true },
      {
        text: "源IP",
        name: "sourceIP",
        align: "left",
        width: 20
      },
      {
        text: "目的IP",
        name: "targetIp",
        align: "left",
        width: 20
      },
      {
        text: "目的端口",
        name: "targetPort",
        align: "left",
        width: 20
      },
      {
        text: "协议类型",
        name: "protocolType",
        align: "left",
        width: 20
      },
      {
        text: "任务描述",
        name: "taskDesc",
        align: "left",
        width: 20,
        tip: true
      },
      {
        text: "任务状态",
        name: "taskStatus",
        align: "left",
        width: 20
      }
    ];
    // 数据交换行为日志表格列配置
    var table_col_config4 = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "任务标识", name: "taskId", align: "left", width: 20 },
      { text: "任务名称", name: "taskName", align: "left", width: 20,tip:true },
      {
        text: "源IP",
        name: "sourceIP",
        align: "left",
        width: 20
      },
      {
        text: "源端口",
        name: "sourcePort",
        align: "left",
        width: 20
      },
      {
        text: "目的IP",
        name: "targetIp",
        align: "left",
        width: 20
      },
      {
        text: "目的端口",
        name: "targetPort",
        align: "left",
        width: 20
      },
      {
        text: "传输大小",
        name: "fileSize",
        align: "left",
        width: 20
      },
      {
        text: "任务开始时间",
        name: "taskStartTime",
        align: "left",
        width: 20,
        tip:true,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      },
      {
        text: "任务结束时间",
        name: "taskEndTime",
        align: "left",
        width: 20,
        tip:true,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      },
      {
        text: "传输方向",
        name: "taskDirection",
        align: "left",
        width: 20
      },
      {
        text: "传输结果",
        name: "taskResult",
        align: "left",
        width: 20
      },
      {
        text: "日志时间",
        name: "logTime",
        align: "left",
        width: 20,
        tip:true,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      }
    ];

    // 用户访问行为日志表格列配置
    var table_col_config5 = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "业务标识", name: "serviceId", align: "left", width: 20 },
      { text: "用户IP", name: "userIP", align: "left", width: 20 },
      {
        text: "目标地址",
        name: "accessUrl",
        align: "left",
        width: 20,
        tip:true
      },
      {
        text: "任务类型",
        name: "taskType",
        align: "left",
        width: 20
      },
      {
        text: "访问结果",
        name: "accessResult",
        align: "left",
        width: 20
      },
      {
        text: "时间",
        name: "visitTime",
        align: "left",
        width: 20,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      },
      {
        text: "任务结束时间",
        name: "taskEndTime",
        align: "left",
        width: 20,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      }
    ];

    // 代理任务运行日志表格列配置
    var table_col_config6 = [
      { text: "", name: "t", width: 3, hideSearch: "hide" },
      { text: "任务名称", name: "taskName", align: "left", width: 20,tip:true },
      { text: "源IP", name: "sourceIP", align: "left", width: 20 },
      {
        text: "源端口",
        name: "sourcePort",
        align: "left",
        width: 20
      },
      {
        text: "目的IP",
        name: "targetIp",
        align: "left",
        width: 20
      },
      {
        text: "目的端口",
        name: "targetPort",
        align: "left",
        width: 20
      },
      {
        text: "协议类型",
        name: "protocolType",
        align: "left",
        width: 20,
        tip:true
      },
      {
        text: "转发时间",
        name: "transmitTime",
        align: "left",
        width: 20,
        tip:true,
        render: function(text) {
          var content;
          if (text) {
            content = new Date(+text).Format("yyyy-MM-dd hh-mm-ss");
          } else {
            content = "";
          }
          return content;
        }
      }
    ];
    var list_col = table_col_config;

    tree.simpleTree($("#event_class_tree"), {
      zNodes: treeData,
      zTreeOnClick: function(treeNode) {
        $(".titleText").text(treeNode.label);
        if (treeNode.id == -1) {
          // 数据交换业务配置
          configUrl = "api/public/agent/listDataExchangeConf";
          list_col = table_col_config;
          deviceConfigList({
            isLoad: true,
            maskObj: "body",
            // maskObj:  $("#table_div1"),
            paramObj: {
              deviceId: id
            }
          });
        } else if (treeNode.id == 2) {
          // 移动应用管理业务配置
          configUrl = "api/public/agent/listAppManageConf";
          list_col = table_col_config1;
          deviceConfigList({
            isLoad: true,
            maskObj: "body"
          });
        } else if (treeNode.id == 3) {
          // 代理任务配置信息
          configUrl = "api/public/agent/listApplicationAgentConf";
          list_col = table_col_config2;
          deviceConfigList({
            isLoad: true,
            maskObj: "body",
            paramObj: {
              deviceId: id
            }
          });
        } else if (treeNode.id == 4) {
          configUrl = "api/public/agent/listDataExchangeAction";
          list_col = table_col_config4;
          deviceConfigList({
            isLoad: true,
            maskObj: "body",
            paramObj: {
              deviceId: id
            }
          });
        } else if (treeNode.id == 5) {
          configUrl = "api/public/agent/listAppManageAccess";
          list_col = table_col_config5;
          deviceConfigList({
            isLoad: true,
            maskObj: "body",
            paramObj: {
              deviceId: id
            }
          });
        } else {
          configUrl = "api/public/agent/listApplicationAgentInfo";
          list_col = table_col_config6;
          deviceConfigList({
            isLoad: true,
            maskObj: "body",
            paramObj: {
              deviceId: id
            }
          });
        }
      },
      initIdVal: "-1"
    });

    getDeviceInfo(id);

    deviceConfigList({
      isLoad: true,
      maskObj: "body",
      paramObj: {
        deviceId: id
      }
    });
  });
});
